#ifndef COMMON_H
#define COMMON_H
#include <QString>
#include <QVariant>
#define CLOUD_GROUP                             "Cloud"
#define KEY_SERVERTAG                           "serverTag"
#define DEBUG_JSON                              1
namespace common {	
    extern const QString gRenameRegExp;
    extern const QString gPrevVersion;
    extern const QString gVersionSymbol;
    extern QString gRunProgramName;

    // 重命名正则表达式规则
    bool checkNameRules(QString newName);
    // 自动重命名
    QString genNewName(const QString& oldName, const QStringList& list);
    // 加密规则: 字符串每个字符+5，Data转为Base64
    QByteArray encrypt(const QByteArray& data);
    // 解密规则: 字符串每个字符-5，Base64转为Data
    QByteArray decrypt(const QByteArray& data);
    // 判断当前版本是国内还是国际版本
    bool isInternationalVersion();
    // 获取软件名称
    const QString getApplicationName();
    // 版本号移除v
    const QString curVersionRemoveV();
    // utf-8字符串处理
    const std::string converseToUtf8(const QString& converseString);
    const QString converseToUtf8(const std::string& converseString);
    // 注册表写入
    void writeRegister(const QString& regKey, const QVariant& value);
    // 注册表读取
    QVariant readRegister(const QString& regKey, QVariant defaultValue = QVariant());
    bool existRegister(const QString& regKey);

    // 打开json 格式化数据
    void debugJsonFormat(const QByteArray& data);
}
#endif

